home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 March / Amiga-CD 1996 #3.iso / pd-software / mui_3.1 / developer / oberon / txt / muifamily.mod < prev    next >
Text File  |  1996-01-19  |  3KB  |  86 lines

  1. MODULE MUIFamily;
  2.  
  3. (* $StackChk- $NilChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $ClearVars- *)
  4.  
  5. (* This module is generated by "GenMuiO" © 1995 by Albert Weinert *)
  6.  
  7. IMPORT
  8.   clf := Classface,
  9.   e := Exec,
  10.   m := Mui,
  11.   RootClass,
  12.   SuperClass := MUISemaphore,
  13.   I := Intuition;
  14.  
  15. CONST
  16.   name *= m.cFamily;
  17.  
  18. TYPE
  19.   Class     *= UNTRACED POINTER TO ClassDesc;
  20.   ClassDesc *= RECORD( SuperClass.ClassDesc ) END;
  21.  
  22. VAR
  23.   class * : I.IClassPtr;
  24.  
  25.    PROCEDURE ( VAR c : ClassDesc ) mAddHead*( VAR msg : m.pFamilyAddHead ):e.APTR;
  26.      BEGIN
  27.        msg.msg.methodID := m.mFamilyAddHead;
  28.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  29.      END mAddHead;
  30.  
  31.    PROCEDURE ( VAR c : ClassDesc ) mAddTail*( VAR msg : m.pFamilyAddTail ):e.APTR;
  32.      BEGIN
  33.        msg.msg.methodID := m.mFamilyAddTail;
  34.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  35.      END mAddTail;
  36.  
  37.    PROCEDURE ( VAR c : ClassDesc ) mInsert*( VAR msg : m.pFamilyInsert ):e.APTR;
  38.      BEGIN
  39.        msg.msg.methodID := m.mFamilyInsert;
  40.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  41.      END mInsert;
  42.  
  43.    PROCEDURE ( VAR c : ClassDesc ) mRemove*( VAR msg : m.pFamilyRemove ):e.APTR;
  44.      BEGIN
  45.        msg.msg.methodID := m.mFamilyRemove;
  46.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  47.      END mRemove;
  48.  
  49.    PROCEDURE ( VAR c : ClassDesc ) mSort*( VAR msg : m.pFamilySort ):e.APTR;
  50.      BEGIN
  51.        msg.msg.methodID := m.mFamilySort;
  52.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  53.      END mSort;
  54.  
  55.    PROCEDURE ( VAR c : ClassDesc ) mTransfer*( VAR msg : m.pFamilyTransfer ):e.APTR;
  56.      BEGIN
  57.        msg.msg.methodID := m.mFamilyTransfer;
  58.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  59.      END mTransfer;
  60.  
  61.   PROCEDURE Dispatch * ( cl : I.IClassPtr; obj : I.ObjectPtr; msg : I.MsgPtr ):e.APTR;
  62.     VAR c : Class;
  63.     BEGIN
  64.       IF msg.methodID # I.new THEN
  65.         c := RootClass.BoopsiToObj( cl, obj )(Class);
  66.       END;
  67.  
  68.       CASE msg.methodID OF
  69.         | m.mFamilyAddHead            : RETURN c.mAddHead( msg^(m.pFamilyAddHead) );
  70.         | m.mFamilyAddTail            : RETURN c.mAddTail( msg^(m.pFamilyAddTail) );
  71.         | m.mFamilyInsert             : RETURN c.mInsert( msg^(m.pFamilyInsert) );
  72.         | m.mFamilyRemove             : RETURN c.mRemove( msg^(m.pFamilyRemove) );
  73.         | m.mFamilySort               : RETURN c.mSort( msg^(m.pFamilySort) );
  74.         | m.mFamilyTransfer           : RETURN c.mTransfer( msg^(m.pFamilyTransfer) );
  75.       ELSE
  76.         RETURN SuperClass.Dispatch( cl, obj, msg );
  77.       END;
  78.     END Dispatch;
  79.  
  80. BEGIN
  81.   class := m.GetClass( name );
  82.   IF class = NIL THEN HALT( 205 ) END; (* Error : Object not Found *)
  83. CLOSE
  84.   IF class # NIL THEN m.FreeClass( class ) END;
  85. END MUIFamily.
  86.